########################################################################
class IDevice:
    """Abstract interface class for every module"""
    
    #----------------------------------------------------------------------
    def __init__(self):
        if self.__class__ is IDevice:
            raise NotImplementedError

    #----------------------------------------------------------------------
    def deleteOldBackups(self, count):
        """Removes old backups and saves only 'count' last backups"""
        raise NotImplementedError

    #----------------------------------------------------------------------
    def doBackup(self):
        """Perform a backup"""
        raise NotImplementedError